package com.liangtian.mdm.system.parameter.dao;

import com.liangtian.mdm.base.BaseDao;
import com.liangtian.mdm.system.parameter.model.SysParameter;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface SysParameterDao extends BaseDao<SysParameter> {

    /**
     * 系统参数查询
     *
     * @param map
     * @return
     * @author xiuzhangl
     * @date 2017年2月28日 下午4:00:55
     */

    public List<SysParameter> querySysParameterList(Map<String, Object> map);

    /**
     * 添加系统参数
     *
     * @param sysParameter
     * @return
     * @author xiuzhangl
     * @date 2017年2月28日 下午5:17:03
     */
    public int addSysParameter(SysParameter sysParameter);

    /**
     * 校验系统参数名称是否重复
     *
     * @param sysParameter
     * @return
     * @author xiuzhangl
     * @date 2017年3月1日 上午10:05:24
     */
    public int addSysParameterCheckName(SysParameter sysParameter);

    /**
     * 根据id获取
     *
     * @param sysParameter
     * @return
     * @author xiuzhangl
     * @date 2017年3月1日 上午10:04:58
     */
    public SysParameter getSysParamById(SysParameter sysParameter);


    /**
     * 编辑系统参数
     *
     * @param sysParameter
     * @return
     * @author xiuzhangl
     * @date 2017年3月1日 上午10:05:08
     */
    public int editSysParam(SysParameter sysParameter);

    /**
     * 活动冻结数据
     *
     * @param map
     * @return 2017年2月15日
     * Administrator
     */
    public int updateSysParamStatus(Map<String, Object> map);


    /**
     * 删除
     *
     * @param map
     * @return 2017年2月15日
     * Administrator
     */
    public int delSysParamByIds(Map<String, Object> map);

    /**
     * 获取参数值
     *
     * @param sysParam
     * @return
     * @author xiuzhangl
     * @date 2017年3月1日 下午4:35:03
     */
    public String getSysParamValue(String sysParam);

    /**
     * 查询所有有效系统参数
     *
     * @return
     * @author jyh
     * @date 2017-07-04
     */
    public List<SysParameter> getParameterLst();

}
